<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /* 房子(House) 有 户型、总面积 、剩余面积 和 家具名称列表 属性
            新房子没有任何的家具
            将 家具的名称 追加到 家具名称列表 中
            判断 家具的面积 是否 超过剩余面积，如果超过，提示不能添加这件家具
            家具(HouseItem) 有 名字 和 占地面积属性，其中
            席梦思(bed) 占地 4 平米
            衣柜(chest) 占地 2 平米
            餐桌(table) 占地 1.5 平米
            将以上三件 家具 添加 到 房子 中
            打印房子时，输出：户型、总面积、剩余面积、家具名称列表 
        */

        // 需要两个类 

        // 家具类
        // 属性:
        //      名字
        //      面积 
        //  方法:
        //      无 


        // 房子类:
        //      户型
        //      总面积 
        //      剩余面积 
        //      家具名称列表 

        //     方法:
        //          家具名称追加到家具名称列表 
        //          输出  


        class HouseItem{
            constructor(name,area){
                this.name = name;
                this.area = area;
            }
        }

        const bed = new HouseItem('席梦思',4);
        const chest = new HouseItem('衣柜',2);
        const table = new HouseItem('衣柜',1.5);



        class House{
            constructor(type,area){
                this.type = type;
                this.area = area;
                this.remaining = area;
                this.furnitureNames = [];

            }
            // 将家具名称添加到房子属性 家具名称列表中
            // 参数 家具对象 
            addFurniture(furniture){
                // console.log(furniture.name);
                // console.log(furniture.area);
                if(furniture.area > this.remaining){
                    console.log('家居面积大于剩余面积放不进去了')
                    return 
                }
                this.furnitureNames.push(furniture.name);
                this.remaining -= furniture.area;
            }

            // 输出最终的信息 
            toString(){
                return `户型${this.type},总面积${this.area}剩余面积${this.remaining}家具名称列表${this.furnitureNames} `
            }
        }


        const myhouse = new House('三室两厅两卫',10);

        myhouse.addFurniture(bed)
        myhouse.addFurniture(chest)
        myhouse.addFurniture(bed);
        // myhouse.addFurniture(bed);
        console.log(myhouse.toString());
        myhouse.addFurniture(bed);
        



    </script>
</body>
</html>